package com.ruicar.afs.cloud.account.dto.tree;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;
import com.ruicar.afs.cloud.account.enums.rules.AtomOperatorScopeType;
import com.ruicar.afs.cloud.common.core.enums.AfsEnumDeserializer;
import com.ruicar.afs.cloud.common.core.enums.AfsEnumSerializer;
import com.ruicar.afs.cloud.common.modules.contract.enums.AtomComponentType;
import lombok.Data;

@Data
public class RuleTreeExpressAtomDto {
    private String key;
    private String name;
    private String valueExpress;
    @JSONField(serializeUsing = AfsEnumSerializer.class, deserializeUsing = AfsEnumDeserializer.class)
    private AtomOperatorScopeType operatorScope;
    private JSONArray operatorTypes;
    @JSONField(serializeUsing = AfsEnumSerializer.class, deserializeUsing = AfsEnumDeserializer.class)
    private AtomComponentType component;
    private JSONObject componentConfig;
}
